package net.etrs.formathlon.metier.utils.constantes;

import java.util.ArrayList;
import java.util.List;

/**
 * Classe d'énumeration des différents rôles que pourront avoir 
 * nos utilisateurs.
 * Il existe deux type de roles :
 *   - Les globeaux
 *   - Les fonctions
 * @author OPIF
 * @version 16/01/2012
  */
public enum RoleSpring {
   
   // Role globaux
   ROLE_UTIL("ROLE_UTIL") ,   
   ROLE_ADMIN("ROLE_ADMIN") , 
   ROLE_GEST("ROLE_GEST"),
   // Fonctions
   ROLE_CHEF_DIR("ROLE_CHEF_DIR") , 
   ROLE_CHEF_DIV("ROLE_CHEF_DIV") , 
   ROLE_CHEF_COURS("ROLE_CHEF_COURS") ;
   
   private String libelle;
   
   /**
    * Constructeur avec paramètres qui va initialiser
    * le libéllé.
    * @param libelle 
    */
   RoleSpring(String libelle)
   {
       this.libelle = libelle;
   }
   
   /**
    * Renvoi le libellé de mon enumération.
    * @return libelle Valeur en cours de mon énum.
    */
   public String getLibelle()
   {
       return this.libelle;
   }
   
   /**
    * Pour la gestion du pick list de primeface
    * cette fonction est créer afin de fournir la list 
    * des valeurs.
    * @return result list des valeurs de type String.
    */
  public static List<RoleSpring> getListValue(){
      
      RoleSpring[] tabRoles = values();
       List<RoleSpring> listRoles = new ArrayList<RoleSpring>();
      for (int i = 1; i < tabRoles.length; i++) {
          listRoles.add(tabRoles[i]);
      }
      return listRoles;
  }
}
